using System;
using System.Collections.Generic;
using System.Text;

namespace Developex.DatabaseWrapper
{
	/// <summary>
	/// Flags for field
	/// </summary>
	[Flags]
	public enum FieldFlags
	{
		/// <summary>
		/// no flags
		/// </summary>
		None = 0x00,
		/// <summary>
		/// Field have no corresponding db column
		/// </summary>
		Fictitious = 0x01,
		/// <summary>
		/// Field is primary key
		/// </summary>
		PrimaryKey = 0x02,
		/// <summary>
		/// Field is identity
		/// </summary>
		Identity = 0x04,
		/// <summary>
		/// Don't allow to insert null value
		/// </summary>
		DisableNull = 0x08,
		/// <summary>
		/// Field value will be ebcrypted while saving and decripted while loading from database
		/// </summary>
		Secure = 0x10,
		/// <summary>
		/// Custom encrypt
		/// </summary>
		CustomEncrypt = 0x20,
		/// <summary>
		/// Custom decrypt
		/// </summary>
		CustomDecrypt = 0x40,
		/// <summary>
		/// Indicate that field will not be loaded by default queries
		/// </summary>
		HeavyField = 0x80,
		/// <summary>
		/// use with Secured flag to ignore DESHelper.ExtraBytesCount
		/// </summary>
		SecuredNoExtraBytes = 0x100,
	}
}
